Extensible markup language (XML) is increasingly becoming the preferred format for transferring data. XML is a tag-based hierarchical language that is extremely rich in terms of the data that it can be used to represent. For example, XML can be used to represent data spanning the spectrum from semi-structured data (such as one would find in a word-processing document) to generally structured data (such as that which is contained in a table). XML is well-suited for many types of communication including business-to-business and client-to-server communication.
Data represented in XML is often created and retained in electronic documents, such as electronic forms. An electronic form that is written in XML typically is governed by an XML schema (XSD) and can be altered by applying an eXtensible Style-sheet Language Transformation (XSLT) file on the form. For more information on XML, XSLT, and XSD (schemas), the reader is referred to the following documents which are the work of, and available from the W3C (World Wide Web consortium): XML Schema Part 2: Datatypes; XML Schema Part 1: Structures; and XSL Transformations (XSLT) Version 1.0; and XML 1.0 Second Edition Specification.
In some instances, a schema governing an electronic form may define sets of information that are syntactically mutually exclusive, such as a schema defining an address as either an international address or a U.S. address, but not both at the same time. The schema may define these sets to enforce a mutual exclusivity.
Mutual exclusivity may be a useful way in which to govern sets of information that may potentially be entered into an electronic form, such as when a user enters either a U.S. mailing address or an international mailing address for a particular person, by permitting only one set of information when only one set is useful or possible (e.g., when a person can have only one address).
Some electronic forms enable users to enter information into both mutually exclusive options at the same time but in so doing these forms are not respecting throughout the editing process the syntax defined in the schema. In the ongoing example, these electronic forms may present two groups of data-entry fields, one designed for entry of a U.S. address and the other designed for entry of an international address. The schemas governing these electronic forms, however, do not permit both of these options to exist at once. Thus, the electronic forms may present both groups of data-entry fields but in doing so permit, at least temporarily, the electronic form to be invalid to the form's schema. If the form remains invalid, it can be useless.
To rectify this invalid state, a programmer may write script designed to fix the invalid state. If successful, this script may select a part of the form's data that should be retained and a part that should be removed. But this script can require extensive time and programming experience to write. And in some cases, the invalid state is not properly corrected by the script, causing the form to either remain invalid, require a person to manually correct the invalidity, or permit erroneous data to be retained.